const nav = require("./config/navbar.js");
const sidebar = require("./config/sidebar.js");
const head = require("./config/head.js");
const plugins = require("./config/plugins.js");
const friendLink = require("./config/friends.js");
const CompressionWebpackPlugin = require("compression-webpack-plugin");

module.exports = {
  head, // 注入到当前页面的 HTML <head> 中的标签
  title: "savethink",
  description: "savethink的博客开始之旅",
  // theme: "reco", //主题
  // 多语言配置
  locales: {
    "/": {
      lang: "zh-CN",
    },
  },
  base: "/blog/", // 部署站点的基础路径
  themeConfig: {
    type: "blog", //博客类型 博客：blog  文档：docs
    huawei: false, //是否开启华为公益计划
    /*导航栏设置*/
    nav,
    logo: "https://savethink0711.gitee.io/source/img/head.jpg", // 导航栏logo
    /*搜索设置*/
    search: true,
    searchMaxSuggestions: 10,
    //页面滚动效果
    smoothScroll: true,
    /*博客配置*/
    blogConfig: {
      // 博客配置
      category: {
        // 分类配置
        location: 2, // 在导航栏菜单中所占的位置，默认2
        text: "分类", // 默认文案 “分类”
      },
      tag: {
        // 标签配置
        location: 3, // 在导航栏菜单中所占的位置，默认3
        text: "标签", // 默认文案 “标签”
      },
    },
    /*侧边栏*/
    subSidebar: "auto", // 在所有页面中启用自动生成子侧边栏，原 sidebar 仍然兼容
    sidebarDepth: 1, // 侧边栏显示2级
    //设置侧边栏宽度
    displayAllHeaders: false, // 默认值：false 侧边栏显示所有页面的标题链接
    sidebar,
    /*作者信息*/
    author: "savethink", // 作者
    authorAvatar: "https://savethink0711.gitee.io/source/img/head.jpg", // 作者头像
    /*最后更新时间*/
    lastUpdated: "最新更新",
    /*项目开始时间*/
    startYear: "2023",
    /*备案号*/
    record: "皖ICP备20000711号", // 备案号
    recordLink: "https://beian.miit.gov.cn/", //备案号跳转链接
    cyberSecurityRecord: "皖公网安备45622602000151号", //公网安备号
    //公网安备号跳转链接
    cyberSecurityLink:
      "http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=41172602000151",
    /*仓库设置*/
    repo: "savethink/blog", //git地址
    // 如果你的文档不在仓库的根部
    docsDir: "docs",
    // 可选，默认为 master
    //docsBranch: 'vuepress',
    editLinks: true,
    editLinkText: "在 GitHub 上编辑此页！",

    /* 评论设置 */
    valineConfig: {
      appId: "FBm5vRY6OxLzqPh2U7dtpdKB-gzGzoHsz",
      appKey: "JgNbOYNgBpDfjH6mxuFNXZW3",
      placeholder: "填写邮箱可以收到回复哦!",
      notify: true, // 邮件提醒
      verify: true, // 验证码
      recordIP: true,
    },
    friendLink,
    //是否全屏样式 true，false
    categoryFullScreen: false, //分类页面是否展示图片
    categoryPic: null, //分类页面背景图
    tagsFullScreen: false, //标签页面是否展示图片
    tagsPic: null, //标签页面背景图
    tagFullScreen: false, //单独标签页面是否展示图片
    tagPic: null, //单独标签页面背景图
    timelineFullScreen: true, //时间线页面是否展示图片
    timelinePic: null, //时间线页面背景图
    pageFullScreen: false, //单独页面是否展示图片
  },
  markdown: {
    lineNumbers: true, // 代码块显示行号
  },
  // 插件
  plugins,
  //开启gzip压缩
  configureWebpack: {
    plugins: [
      new CompressionWebpackPlugin({
        filename: "[path].gz[query]", // 目标资源名称
        algorithm: "gzip", // 使用gzip压缩
        test: new RegExp("\\.(" + ["png", "jfif"].join("|") + ")$"), // 匹配文件名
        threshold: 10240, // 资源文件大于10240B=10kB时会被压缩
        minRatio: 0.8, // 最小压缩比达到0.8时才会被压缩
      }),
    ],
  },
};
